<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        // ES6新增的基本数据类型 symbol；
        // symbol ： 表示独一无二的值；用于实现唯一标识符 ；（id）;
        // 注意： Symbol 不需要new  
        // symbol创建 
        // let s = Symbol();
        // console.log(typeof s);
        // symbol里的标识符 没有任何意义 ，就是描述性的标识
        // 注意 即使  symbol里的描述是一样的 那么 2个symbol 依然是独一无二的值；
        // let s1 = Symbol("key");  // 独一无二的
        // let s2 = Symbol("key1");  // 独一无二的
        // console.log(s1,s2);
        // // console.log(s1===s2);

        // symbol 有啥用？
        // 1.控制属性私有
    //     let obj = {
    //         name:"张三",
    //         age:23,
    //         [Symbol("weight")]:'100kg'
    //     }
    // //    console.log(  obj[Symbol("weight")])
    // console.log(obj['age']);
    // 2. 在某些特定场景下我只需要几个值 ， 值不同就可以了，至于值是什么不关注；

    let category = {
        person:Symbol(),
        animal:Symbol()
    }

    function getCate(type){
        if(type===category.person){
            console.log("人类");
        }else if (type === category.animal){
            console.log("动物");
        }
    }
    getCate(category.person);

    </script>
</body>
</html>